Method for device to control another device and the device

ABSTRACT

The present disclosure relates to a sensor network, Machine Type Communication (MTC), Machine-to-Machine (M2M) communication, and technology for Internet of Things (IoT). The present disclosure may be applied to intelligent services based on the above technologies, such as smart home, smart building, smart city, smart car, connected car, health care, digital education, smart retail, security and safety services. The present disclosure relates to control a client device using a server device based on context data indicating a circumstance of a user.

RELATED APPLICATIONS

This application is a Continuation of U.S. application Ser. No.14/933,117, filed on Nov. 5, 2015, which claims priority from KoreanPatent Application No. 10-2014-0152857, filed on Nov. 5, 2014, in theKorean Intellectual Property Office, the disclosures of which areincorporated herein by reference in their entireties.

BACKGROUND 1. Field

One or more exemplary embodiments relate to a method of controlling adevice via another device.

2. Description of the Related Art

The Internet, which is a human centered connectivity network wherehumans generate and consume information, is now evolving to the Internetof Things (IoT) where distributed entities, such as things, exchange andprocess information without human intervention. The Internet ofEverything (IoE), which is a combination of the IoT technology and theBig Data processing technology through connection with a cloud server,has emerged. As technology elements, such as “sensing technology”,“wired/wireless communication and network infrastructure”, “serviceinterface technology”, and “Security technology” have been demanded forIoT implementation, a sensor network, a Machine-to-Machine (M2M)communication, Machine Type Communication (MTC), and so forth have beenrecently researched.

Such an IoT environment may provide intelligent Internet technologyservices that create a new value to human life by collecting andanalyzing data generated among connected things. IoT may be applied to avariety of fields including smart home, smart building, smart city,smart car or connected cars, smart grid, health care, smart appliancesand advanced medical services through convergence and combinationbetween existing Information Technology (IT) and various industrialapplications.

SUMMARY

One or more exemplary embodiments include a method and device forcontrolling a mirroring service between a device and another device, inconsideration of a user's circumstance.

Additional aspects of the exemplary embodiments will be set forth inpart in the description which follows and, in part, will be apparentfrom the description, or may be learned by practice of the presentedexemplary embodiments.

According to an aspect of an exemplary embodiment, a method ofcontrolling a client device using a server device includes obtaining, bya server device, context data indicating a circumstance of a user from afirst client device; determining an event by comparing the obtainedcontext data and pre-stored user information; and transferringinformation about an object that is output from the server device to asecond client device, based on the determined event.

When the determined event is a first event, the method may furtherinclude generating a mirroring session for performing a mirroringservice, and transferring the information about the object may furtherinclude transferring the information about the object using thegenerated mirroring session.

Obtaining the context data may further include obtaining the contextdata from the first client device according to a pre-configured cycle,and the pre-configured cycle may be changed based on the event.

Determining the event may further include: determining a movement of theuser from the obtained context data; and predicting the event, based onthe determined movement of the user.

Transferring the information about the object may further include:determining an operation corresponding to the determined event, using anapplication that is executed when the event is determined; changing theobject that is output from the server device, according to thedetermined operation; and transferring information about the changedobject to the second client device.

The pre-stored user information may further include informationindicating a relation between the event and the obtained context data.

The method may further include generating a pattern of context datacorresponding to event, based on input information corresponding to theevent obtained via the server device from the user, and context dataobtained at a time corresponding to the event.

The method may further include detecting the second client device by theserver device at a detection time, and obtaining the context data mayfurther include obtaining the context data at the detection time.

The method may further include determining whether the user is apre-registered user using the obtained context data.

According to another aspect of an exemplary embodiment, a server deviceconfigured to control a client device includes a communicator configuredto obtain context data indicating a circumstance of a user from a firstclient device; and a controller configured to determine an event bycomparing the obtained context data and pre-stored user information,wherein the communicator may be further configured to transferinformation about an object that is output from the server device to asecond client device, based on the determined event.

When the determined event is a first event, the controller may befurther configured to generate a mirroring session for performing amirroring service in which the information about the object that isoutput from the server device is transferred to the second clientdevice, and the communicator is further configured to transfer theinformation about the object t to the second client device using thegenerated mirroring session.

The communicator may be further configured to obtain the context datafrom the first client device, according to a pre-configured cycle, andthe pre-configured cycle may be changed based on the event.

The controller may be further configured to determine a movement of theuser from the obtained context data, and predict the event generated forthe user, based on the determined movement of the user.

The controller may be further configured to determine an operationcorresponding to the determined event, using an application that isexecuted when the event is determined, and change the object that isoutput in the server device, according to the determined operation, andthe communicator may be further configured to transfer information aboutthe changed object to the second client device.

The pre-stored user information may include information indicating arelation between the event and the obtained context data.

The controller may be further configured to generate a pattern ofcontext data corresponding to the event, based on input informationcorresponding to the event obtained by the server device from the user,and context data obtained at a time corresponding to the event.

The communicator may be further configured to obtain the context datafrom the first client device at a detection time, and the detection timemay be a time when the server device senses the second client device.

The controller may be further configured to determine whether the useris a pre-registered user using the obtained context data.

A non-transitory computer-readable recording medium may have embodiedthereon a computer program for executing the methods disclosed herein.

According to a further aspect of an exemplary embodiment, a method ofcontrolling a client device includes obtaining, from a first clientdevice, context data indicating a circumstance of a user; determining anevent by comparing the context data and pre-stored user information; andtransferring information to a second client device, based on thedetermined event.

The information may include content to be displayed by the second clientdevice.

The information may be a command instructing the second client device toexecute an application.

Determining the event may further include determining an applicationthat is being executed when the context data is received, anddetermining the event based on the application, the context data, andthe pre-stored user information.

BRIEF DESCRIPTION OF THE DRAWINGS

The above and other aspects of the exemplary embodiments will becomeapparent and more readily appreciated from the following description ofthe exemplary embodiments, taken in conjunction with the accompanyingdrawings in which:

FIG. 1 is a conceptual view for describing a method of controllinganother device via a device, according to an exemplary embodiment;

FIG. 2 is a flowchart illustrating a method of controlling a clientdevice via a server device, according to an exemplary embodiment;

FIG. 3 is a view for describing a method of performing a mirroringservice by controlling a first client device and a second client device,via a server device, according to an exemplary embodiment;

FIG. 4 is a view for describing a method of generating user informationthat is used for determining an event, via a server device, according toan exemplary embodiment;

FIG. 5 is a flowchart illustrating a method of transferring informationabout an object to a second client device, via a server device,according to an event generated for a user, according to an exemplaryembodiment;

FIG. 6 is a view for describing a method of changing a cycle ofobtaining context data from a first client device, via a server device,according to an exemplary embodiment;

FIG. 7 is a flowchart illustrating a method of determining informationabout an object that is transferred to a second client device, via aserver device, based on an executed application and a determined event,according to an exemplary embodiment;

FIG. 8 is a view for describing a method of transferring informationabout an object to a second client device, via a server device, based oncontext data obtained from a first client device, when a user startsdriving a vehicle, according to an exemplary embodiment;

FIG. 9 is a view for describing a method of transferring informationabout an object to a second client device, via a server device, based oncontext data obtained from a first client device, while a user isdriving a vehicle, according to an exemplary embodiment;

FIG. 10 is a view for describing a method of transferring informationabout an object to a second client device, via a server device, based oncontext data obtained from a first client device, when a user finishesdriving a vehicle, according to an exemplary embodiment; and

FIGS. 11 and 12 are block diagrams of a configuration of a device,according to an exemplary embodiment.

DETAILED DESCRIPTION

The terms used in the specification will be briefly defined, and theexemplary embodiments will be described in detail.

The terms used in this specification are those general terms currentlywidely used in the art in consideration of functions regarding theexemplary embodiments, but the terms may vary according to the intentionof those of ordinary skill in the art, precedents, or new technology inthe art. Also, some terms may be arbitrarily selected by the applicant,and in this case, the meaning of the selected terms will be described indetail in the detailed description of the present specification. Thus,the terms used in the specification should be understood not as simplenames but based on the meaning of the terms and the overall descriptionof the exemplary embodiments.

When a part “includes” or “comprises” an element, unless there is aparticular description contrary thereto, the part can further includeother elements, not excluding the other elements. In addition, termssuch as “ . . . unit,” “ . . . module,” or the like refer to units thatperform at least one function or operation, and the units may beimplemented as hardware or software or as a combination of hardware andsoftware.

Reference will now be made in detail to exemplary embodiments, examplesof which are illustrated in the accompanying drawings, wherein likereference numerals refer to like elements throughout. In this regard,the present exemplary embodiments may have different forms and shouldnot be construed as being limited to the descriptions set forth herein.Accordingly, the exemplary embodiments are merely described below, byreferring to the figures, to explain aspects of the present description.As used herein, the term “and/or” includes any and all combinations ofone or more of the associated listed items. Expressions such as “atleast one of,” when preceding a list of elements, modify the entire listof elements and do not modify the individual elements of the list.

FIG. 1 is a conceptual view for describing a method of controlling adevice 10 or a device 20 via a device 100, according to an exemplaryembodiment.

Referring to FIG. 1, the device 100 may perform communication with thefirst device 10 and the second device 20. The device 100 may obtain datarelated to a user from the first device 10. Hereinafter, the device 100,which may execute an application based on the obtained data, will bereferred to as the server device 100, and the first device 10, whichtransfers the data related to the user to the server device 100 will bereferred to as the first client device 10.

The first client device 10 may include, for example, a wearable devicewhich is wearable by a user. The first client device 10 may obtain thedata related to the user, at a location proximate to the user. Forexample, the first client device 10 may obtain context data indicating acircumstance of the user.

The context data may include, for example, data related to a user'slocation, a user's speed, and a user's moving direction. According toanother exemplary embodiment, the context data may include data relatedto a distance between the user and an object (for example, a vehicle).However, these are only exemplary embodiments, and the context data isnot limited to the examples above. The context data may include at leastone type of data which may be used for predicting the circumstance ofthe user, from among data obtained from a sensor included in the serverdevice 100.

The server device 100 may transfer information about an object that isoutput as a result of executing the application in the server device100, to the second device 20. Here, the service in which the serverdevice 100 transfers the information about the object that is output tothe second device 20 may include a mirroring service in which the serverdevice 100 transfers a displayed screen to the second device 20. Thesecond device 20 that receives the information about the object that isoutput via the server device 100 will be referred to as the secondclient device 20.

When the mirroring service is executed between the server device 100 andthe second client device 20, the server device 100 may transfer theinformation about the object that is output as a result of the executionof the application, to the second client device 20. Throughout thespecification, the term “application” denotes a group of computerprograms designed for performing a specific operation. The applicationdescribed in this specification may vary. For example, the applicationmay be a messenger application, a telephone application, a music playingapplication, a game application, or a video application, but theapplication is not limited thereto.

Meanwhile, the term “object” in this specification refers to an objectwhich may be displayed on the device and manipulated or defined by theuser.

For example, the object may be an application execution image, content,a figure or an object indicated in a content execution image, or an iconindicated in an application execution image. The application refers to aprogram that outputs a pre-determined result when receiving apre-determined input from a device. The content refers to a file ofcontent itself which may be executed by a pre-determined application.The content may include an image, a video, a text, etc. The figure, theobject, or the icon refers to a figure, an object, or an icon displayedon a screen of the device when the content or the application isexecuted.

Also, the information about the object may include the applicationexecution image or meta data about the content. For example, when theobject is the application execution image, the information about theobject may include a name of the application (for example, a google mapor a google player), content of a service provided by the application(for example, a map searching service or a content playing service), aninput format of the application (for example, a format or a size of afile), and identification information of the application which mayenable the device to distinguish the application from others.

In some exemplary embodiments, when the object is the content, theinformation about the object may include a file name of the content, anaccess URL, a format of the content file, a size of the content file,etc. In other exemplary embodiments, when the object is the figure orthe object indicated in the content execution image, the informationabout the object may include a name of the figure or the object or atype of the figure or the object. In further exemplary embodiments, whenthe object is the icon indicated in the content execution image, theinformation about the object may include a symbolized meaning of theicon and content executed when the icon is manipulated.

FIG. 1 illustrates only an exemplary embodiment. In other exemplaryembodiments, the mirroring service may be performed between a pluralityof server devices and a plurality of second client devices. At least oneof the plurality of server devices and at least one of the plurality ofsecond client devices may perform the mirroring service by beingconnected to each other in a 1:1 connection format, a 1:N connectionformat, or a N:N connection format.

The server device 100, the first client device 10, and second clientdevice 20 may perform wired or wireless communication. For example, theserver device 100 and the first and second client devices 10 and 20 maybe interconnected according to various communication networks standards,such as a local area network (LAN), a wide area network (WAN), awireless LAN (WLAN), a wireless broadband (Wibro), CDMA, WCDMA, and nearfield communication (NFC).

The server device 100 and the first and second client devices 10 and 20may be devices, such as a tablet, a smart phone, a head-unit, a smarttelevision (TV), a smart watch, a smart glasses, a personal computer(PC), and a laptop. In this specification, for convenience ofexplanation, the server device 100 will be referred to as a smart phone,the first client device 10 as a wearable device, such as a smart watchor a smart glass, and the second client device 20 as a head-unit for avehicle. This is only for convenience of understanding, and devices towhich the present description may be applied are not limited to thesmart phone, the wearable device, and the vehicle head-unit.

Hereinafter, a method of controlling the first and second client devices10 and 20 via the server device 100 will be described with reference toFIG. 2.

FIG. 2 is a flowchart illustrating an exemplary method of controllingthe first and second client devices 10 and 20 via the server device 100,according to an exemplary embodiment.

The server device 100 obtains context data indicating a circumstance ofa user from the first client device 10, in operation S210.

The server device 100 may configure a session for performingcommunication with the first client device 10. Also, the server device100 may determine a start point of obtaining the context data, accordingto a configuration set by the user. For example, the server device 100may automatically obtain the context data from the first client device10 without receiving an additional input signal from the user. Accordingto another exemplary embodiment, if the server device 100 obtains theinput signal from the user, the server device 100 may obtain the contextdata from the first client device 10, according to a pre-configuredcycle. According to another exemplary embodiment, the server device 100may obtain the context data from the first client device 10 if thecondition configured by the user is met. For example, if the secondclient device 20 is sensed within a pre-determined range of distance,the server device 100 may obtain the context data from the first clientdevice 10.

The server device 100 according to an exemplary embodiment may obtainthe context data from the first client device 10, according to apre-configured cycle. Here, the pre-configured cycle may be determinedbased on an event generated for the user, which is determined based oncontext data that the first client device 10 obtained from the user.This aspect will be described in further detail below, with reference toFIG. 5. Here, the event refers to a specific situation for controllingthe second client device 20 via the server device 100, from amongsituations which may be generated for the user.

The server device 100 determines an event generated for the user bycomparing the obtained context data and pre-stored user information, inoperation S220. The pre-stored user information may include informationabout a pattern of context data corresponding to an event. When an eventis generated, the server device 100 may determine an object that isoutput in the server device 100. Here, the event may vary according toconfigurations. For example, the event may include an event of a usergetting into a vehicle, an event of a user starting to drive thevehicle, an event of a user changing a speed of the vehicle whiledriving the vehicle, an event of a user finishing driving the vehicle,etc. However these are only examples and the event is not limitedthereto.

The server device 100 transfers information about an object that isoutput to the second client device 20, based on the determined event, inoperation S230.

When an event is generated, the server device 100 may transfer theinformation about the object that is output by the server device 100 tothe second client device 20. For example, when the event of the usergetting in the vehicle is generated, the server device 100 may transferinformation for executing the mirroring service to the second clientdevice 20. According to another exemplary embodiment, when the event ofthe user starting to drive the vehicle is generated, the server device100 may transfer a map image that is output according to an execution ofa navigation application, to the second client device 20.

FIG. 3 is a view for describing a method of performing a mirroringservice by controlling the first client device 10 and the second clientdevice 20 via the server device 100, according to an exemplaryembodiment.

The server device 100 may sense the second client device 20 in operationS310. For example, the server device 100 may sense that the secondclient device 20 is located within a radius of a from the server device100.

The first client device 10 may transfer first context data indicating acircumstance of a user to the server device 100, in operation S320. Thefirst client device 10 according to an exemplary embodiment may transferthe first context data to the server device 100, when the server device100 senses the second client device 20. The first client device 10 maytransfer the first context data to the server device 100 according to apre-configured cycle.

The server device 100 may determine a first event generated for theuser, by comparing the first context data and pre-stored userinformation, in operation S330. For example, the server device 100 maypredict a generation of the first event that the user starts driving avehicle, as a result of comparing the first context data and thepre-stored user information.

The server device 100 may configure a mirroring session with the secondclient device 20, based on the first event that is determined, inoperation S340. For example, when the event of driving the vehicle isgenerated, the server device 100 may transfer session information forconfiguring the mirroring session, to the second client device 20, asthe information about the object. The session information forconfiguring the mirroring session may include information about the OS,IP, and port lists of the server device 100. However, this is only anexemplary embodiment, and the present inventive concept is not limitedthereto.

The second client device 20 may output information indicating that themirroring session is configured between the server device 100 and thesecond client device 20, in operation S350. Also, the second clientdevice 20 may output a list of applications which are capable ofperforming the mirroring service, received from the server device 100.

The server device 100 may obtain second context data indicating acircumstance of the user from the first client device 10, in operationS360. In some exemplary embodiments, the server device 100 maycontinuously receive context data from the first client device 10, afterthe first event corresponding to the first context data previouslyobtained is determined.

The server device 100 may determine a second event generated for theuser, by comparing the second context data that is obtained and thepre-stored user information, in operation S360.

The server device 100 may transfer the information about the object thatis output by the server device 100 to the second client device 20, basedon the second event that is determined, in operation S370.

The second client device 20 may output the information about the object,which is received, in operation S380. For example, the second clientdevice 20 may receive information about a screen displayed in the serverdevice 100 and output the information.

FIG. 4 is a view for describing a method of generating user informationthat is used for determining an event, via the server device 100,according to an exemplary embodiment.

The server device 100 may repeatedly obtain context data from the firstclient device 10, according to a pre-configured cycle. The server device100 may generate information about a pattern of context datacorresponding to an event, to determine the event generated for theuser, by using the obtained context data.

Referring to FIG. 4, the server device 100 may predict the eventgenerated for the user based on input information that is input by theuser to control the server device 100 at a pre-determined point in time.Also, the server device 100 may analyze a pattern of context data whichis obtained from a point in time at which the input information isreceived from the user until a pre-determined point in time. Forexample, in FIG. 4, the server device 100 may generate the userinformation by matching the analyzed pattern of the context data withthe predicted event. Meanwhile, the server device 100 may transferinformation about an object that is output by performing an operationcorresponding to the determined event, to the second server device 20.

According to an exemplary embodiment, the user information generated viathe server device 100 may be used later to determine an event generatedfor the user, via the server device 100. The server device 100 maycompare newly obtained context data with the pattern of the context datastored in the user information. When context data of a first patterncorresponding to the obtained context data is stored in the userinformation, the server device 100 may determine that an eventcorresponding to the context data of the first pattern is generated.

FIG. 5 is a flowchart illustrating a method of transferring informationabout an object to the second client device 20, via the server device100, according to an event generated for a user, according to anexemplary embodiment.

The server device 100 may obtain context data indicating a circumstanceof a user from the first client device 10, in operation S510. The serverdevice 100 may configure a session for performing communication with thefirst client device 10. The server device 100 according to an exemplaryembodiment may obtain the context data from the first client device 10,according to a pre-configured cycle.

In some exemplary embodiments, operation S510 may correspond tooperation S210 that is described above with reference to FIG. 2.

The server device 100 may determine whether the obtained context datacorresponds to a movement pattern that is stored in user information, inoperation S520.

The server device 100 may store the user information includinginformation about the movement pattern of the user. The movement patternrefers to information that is generated by using at least one of auser's location, a user's moving direction, a user's moving gesture, anda user's moving speed, when a plurality of events are respectivelygenerated.

For example, when the user starts driving a vehicle, the server device100 may generate the movement pattern based on information about adirection of a body of the user moving to hold a handle, a hand gestureof the user to hold the handle, and a location of the user in a vehicle.According to another exemplary embodiment, when the user finishesdriving the vehicle and starts parking the vehicle, the server device100 may generate the movement pattern based on information about adirection of the body of the user moving to watch a rear mirror or aside mirror and a hand gesture of the user to change a gear.

The server device 100 may determine an event generated for the user,corresponding to a movement pattern, in operation S530. When theobtained context data corresponds to the movement pattern at a ratiothat is equal to or higher than a threshold ratio, the server device 100may predict that the event corresponding to the movement pattern isgenerated for the user. The server device 100 may determine that thepredicted event is generated for the user.

The server device 100 may transfer the information about the object thatis output by the server device 100 to the second client device 20, basedon the determined event, in operation S540. The server device 100 maytransfer the information about the object that is output by the serverdevice 100 to the second client device 20, when an event is generated.

In some exemplary embodiments, operation S540 may correspond tooperation S230 that is described above with reference to FIG. 2.

FIG. 6 is a view for describing a method of changing a cycle ofobtaining context data from the first client device 10, via the serverdevice 100, according to an exemplary embodiment.

The first client device 10 may obtain the context data indicating acircumstance of a user, according to a pre-configured cycle. Thepre-configured cycle may be determined based on an event generated forthe user, which is determined based on context data that the firstclient device 10 has previously obtained from the user.

Referring to FIG. 6, the server device 100 may change the pre-configuredcycle, based on a distance between the user and the second client device20, when the user approaches an object (for example, a vehicle)including the second client device 20 to operate the object.

For example, the server device 100 may obtain the context data from thefirst client device 10, when the second client device 20 is locatedwithin a radius of a from a location of the user. The server device 100may obtain the context data at an interval of, for example, ten seconds,which may be a cycle pre-configured as a default value.

Meanwhile, the server device 100 may shorten the cycle of obtaining thecontext data, the nearer the user is to the vehicle including the secondclient device 20. For example, when the distance between the user andthe second client device 20 is lessened to a radius of a/2, the serverdevice 100 may change the cycle of obtaining the context data to fiveseconds.

FIG. 7 is a flowchart illustrating a method of determining informationabout an object that is to be transferred to the second client device20, via the server device 100, based on an executed application and adetermined event, according to an exemplary embodiment.

The server device 100 may obtain context data indicating a circumstanceof a user from the first client device 10, in operation S710. The serverdevice 100 may configure a session for performing communication with thefirst client device 10. The server device 100 according to an exemplaryembodiment may obtain the context data from the first client device 10,according to a pre-configured cycle.

In some exemplary embodiments, operation S710 may correspond tooperation S210 that is described above with reference to FIG. 2.

The server device 100 may determine an event that is generated for theuser, by comparing the obtained context data and pre-stored userinformation, in operation S720. The pre-stored user information mayinclude information about a pattern of context data corresponding to anevent.

The server device 100 may determine an operation corresponding to anevent that is determined via an application executed in the serverdevice 100 at a point in time at which the event is determined, inoperation S730. The operation that is to be performed based on thedetermined event may vary according to types of the application executedin the server device 100. For example, when the server device 100executes a telephone application, the server device 100 may determine anoperation of connecting a received call to the user, if the event of theuser stopping driving the vehicle is determined. Meanwhile, when theserver device 100 executes a navigation application, the server device100 may determine an operation of finishing the navigation application,if the event of stopping driving the vehicle is determined.

The server device 100 may change the object that is output in the serverdevice 100, according to the determined operation, in operation S740.

For example, when the server device 100 executes the telephoneapplication, the device 100 may change the object to be a notificationof a received call, to connect the received call to the user, if theevent of the user stopping driving the vehicle is determined. In someexemplary embodiments, when the server device 100 executes thenavigation application, the server device 100 may change the object tobe a command for ending the navigation application, if the event of theuser stopping driving the vehicle is determined.

The server device 100 may transfer information about the changed objectto the second client device 20, in operation S750. For example, theserver device 100 may transfer the notification about the call to thesecond client device 20. According to another exemplary embodiment, theserver device 100 may transfer a screen image of the server clientdevice 100 in which the navigation application is ended, to the secondclient device 20.

The method of transferring the information about the changed object tothe second client device 20, via the server device 100, according to thepresent exemplary embodiment, may correspond to operation S230 that isdescribed above with reference to FIG. 2.

FIG. 8 is a view for describing a method of transferring informationabout an object to the second client device 20, via the server device100, based on context data obtained from the first client device 10,when a user starts driving a vehicle, according to an exemplaryembodiment.

The server device 100 may obtain the context data indicating acircumstance of a user from the first client device 10, according to apre-configured cycle. The server device 100 may determine whether theobtained context data corresponds to a movement pattern stored in userinformation.

Referring to FIG. 8, the first client device 10 may be worn at a wristof the user. When the user moves to hold a handle, wears a safety belt,or changes a gear to start a vehicle, the first client device 10 mayobtain information about a changed position of the user and a movementof the user, at a location proximate to the user, according to thepre-configured cycle. The server device 100 may determine whether theobtained information corresponds to the movement pattern stored in theuser information.

When the movement pattern corresponding to an event of the user startingdriving the vehicle corresponds to the obtained context data, the serverdevice 100 may determine that the user starts driving the vehicle.

The server device 100 may transfer the information about the object thatis output by the server device 100 to the second client device 20, basedon the determined event. For example, when the user starts driving thevehicle, the server device 100 may transfer a screen on which anavigation application is executed to the second client device 20.

FIG. 9 is a view for describing a method of transferring informationabout an object to the second client device 20, via the server device100, based on context data obtained from the first client device 10,while a user is driving a vehicle, according to an exemplary embodiment.

Referring to FIG. 9, the first client device 10 may be worn at a wristof the user. When the user operates an accelerator pedal or changesgears, the first client device 10 may obtain information about a changedposition of the user and a movement of the user, at a location proximateto the user, according to the pre-configured cycle. The server device100 may determine whether the obtained information corresponds to themovement pattern stored in the user information.

When the movement pattern corresponding to an event of the user drivingthe vehicle corresponds to the obtained context data, the server device100 may determine that the user drives the vehicle.

The server device 100 may transfer the information about the object thatis output by the server device 100 to the second client device 20, basedon the determined event. For example, when a request to answer a call isreceived while the user drives the vehicle, the server device 100 maytransfer a call rejection message, without receiving an additional userinput. Also, the server device 100 may transfer the result oftransferring the call rejection message and information of a caller thatsent the request of the call, to the second client device 20.

FIG. 10 is a view for describing a method of transferring informationabout an object to the second client device 20, via the server device100, based on context data obtained from the first client device 10,when a user finishes driving a vehicle, according to an exemplaryembodiment.

Referring to FIG. 10, the first client device 10 may be worn at a wristof the user. When the user turns his/her head to park the vehicle ortakes off the safety belt, the first client device 10 may obtaininformation about a changed position of the user and a movement of theuser, at a location proximate to the user, according to thepre-configured cycle.

When a movement pattern corresponding to an event of the user finishingdriving the vehicle corresponds to the obtained context data, the serverdevice 100 may determine that the user finishes driving the vehicle.

The server device 100 may transfer the information about the object thatis output in the server device 100 to the second client device 20, basedon the determined event. For example, when the user finishes driving thevehicle, the server device 100 may transfer information about a screenon which the navigation application is ended to the second client device20. According to another exemplary embodiment, when the user finishesdriving the vehicle, the server device 100 may transfer information forending the mirroring session connected between the second client device20 and the server device 100, to the second client device 20.

FIGS. 11 and 12 are block diagrams of a configuration of the device 100.

As illustrated in FIG. 11, the device 100 according to an exemplaryembodiment may include a communicator 110 and a controller 120. Thedevice 100 may be realized by using more or fewer components than theillustrated components.

For example, as illustrated in FIG. 12, the device 100 may furtherinclude a sensors 140, an inputter 150, an audio/video (A/V) inputter160, and a memory 170, in addition to the communicator 110 and thecontroller 120.

Hereinafter, these components will be described.

The communicator 110 obtains context data indicating a user'scircumstance from the first client device 10. Also, the communicator 110may transfer information about an object that is output by the serverdevice 100 to the second client device 20, based on an event determinedby the controller 120.

The communicator 110 may transfer the information about the object thatis output to the second client device 20, by using a mirroring sessiongenerated between the server device 100 and the second client device 20.

The communicator 110 may obtain the context data from the first clientdevice 10, according to a pre-configured cycle, and the pre-configuredcycle may be determined based on context data that is previouslyobtained.

When the object that is output by the server device 100 is changed,according to the event generated for the user, the communicator 110 maytransfer information about the changed object to the second clientdevice 20.

Meanwhile, the communicator 110 may start obtaining the context datafrom the first client device 10 at a point in time at which the serverdevice 100 senses the second client device 20.

The communicator 110 according to an exemplary embodiment may includeone or more components that enable communication between the device 100and an external device or between the device 100 and a server. Forexample, the communicator 110 may include a short-range wirelesscommunicator 111, a mobile communicator 112, and a broadcasting receiver113.

Examples of the short-range wireless communicator 111 may include aBluetooth communicator, a Bluetooth low energy communicator, a nearfield communicator, a WLAN (WiFi) communicator, a ZigBee communicator,an infrared data association (IrDA) communicator, a Wi-Fi direct (WFD)communicator, an ultra wideband (UWB) communicator, and an Ant+communicator, but they are not limited thereto.

The mobile communicator 112 transfers and receives a wireless signal toand from at least one of a base station, an external device, and aserver. Here, the wireless signal may include a sound call signal, avideo telephony call signal, or various types of data according totext/multimedia message transferring and receiving.

The broadcasting receiver 113 receives broadcasting signals and/orinformation related to broadcasting from the outside via a broadcastingchannel. The broadcasting channel may include at least one of asatellite channel, and a ground wave channel. According to exemplaryembodiments, the device 100 may not include the broadcasting receiver113.

The controller 120 controls general operations of the device 100, ingeneral. For example, the controller 120 may control the inputter 150,an outputter 130, the sensors 140, the communicator 110, and the A/Vinputter 160, by executing programs stored in the memory 170.

The controller 120 determines an event generated for the user bycomparing the context data obtained by the communicator 110 andpre-stored user information. When the determined event is a first event,the controller 120 may perform a mirroring service in which informationabout an object that is output by the server device 100 is transferredto the second client device 20.

The controller 120 may transfer the information about the object that isoutput to the second client device 20, by using the generated mirroringsession. The controller 120 may determine a movement of the user fromthe obtained context data, and may predict the event generated for theuser based on the determined movement of the user.

The controller 120 may determine an operation connected with an eventthat is determined via an application executed at a point in time atwhich the event is determined, and may change the object that is outputaccording to the determined operation.

Meanwhile, the controller 120 may generate a pattern of context datacorresponding to an event generated at a pre-determined point in time,based on input information obtained via the server device from the useraccording to the event generated at the pre-determined point in time,and the context data obtained at the pre-determined point in time.

The controller 120 may obtain the context data from the first clientdevice 10 at a point in time at which the server device 100 senses thesecond client device 20. The controller 120 may determine whether theuser is a pre-registered user, by comparing the obtained context datawith context data of the registered user.

The outputter 130 is configured to output audio signals, video signals,or vibration signals. The outputter 130 may include a display 131, asound outputter 132, and a vibration motor 133.

The display 131 displays and outputs information processed by the device100. In some exemplary embodiments, display 131 may output a result ofperforming the determined operation with respect to a target object 20,based on an obtained hovering input.

The display 131 may display an identification mark on content selectedby a user from among at least one piece of content displayed in thedevice 100.

Meanwhile, when the display 131 and a touch pad are formed as a layeredstructure to realize a touch screen, the display 131 may be used notonly as an output device but also as an input device. The display 131may include at least one selected from a liquid crystal display, a thinfilm transistor-liquid crystal display, an organic light-emitting diode,a flexible display, a three-dimensional (3d) display, and anelectrophoretic display (EPD). According to a realized shape of thedevice 100, the device 100 may include two or more displays 131. Here,the two or more displays 131 may be arranged to face each other by usinga hinge.

The sound outputter 132 outputs audio data that is received from thecommunicator 110 or stored in the memory 170. Also, the sound outputter132 outputs a sound signal related to a function (for example, an alarmsound) performed by the device 100. The sound outputter 132 may includea speaker, a buzzer, etc.

The vibration motor 133 may output a vibration signal. For example, thevibration motor 133 may output the vibration signal corresponding to anoutput of audio data or video data (for example, a call signal receptionsound, a message reception sound, etc.). Also, the vibration motor 133may output the vibration signal when the touch screen receives a touchinput.

The sensors 140 may sense a state of the device 100 or a state aroundthe device 100 and may transfer sensed information to the controller120. For example, the sensors 140 may sense a user's referentialoperation and transfer the sensed information to the controller 120.

The sensors 140 may include at least one selected from a magnetic sensor141, an accelerometer sensor 142, a temperature/humidity sensor 143, aninfrared sensor 144, a gyroscope sensor 145, a position sensor (forexample, GPS) 146, an atmospheric sensor 147, a proximity sensor 148,and an RGB sensor (illuminance sensor) 149, but the sensors 140 is notlimited thereto. A function of each sensor may be instantly inferred byone of ordinary skill in the art in view of the name of each sensor, andthus, the function of each sensor will not be described in detail.

The inputter 150 refers to a device for inputting data for controllingthe device 100. Examples of the inputter 150 include a key pad, a domeswitch, a touch pad (using a touch-type capacitance method, apressure-type resistive method, an infrared sensing method, a surfaceultrasonic conductive method, an integral tension measuring method, apiezo effect method, etc.), a jog wheel, and a jog switch, but they arenot limited thereto.

The A/V inputter 160 is configured for inputting an audio signal or avideo signal, and may include a camera 161, a microphone 162, etc. Thecamera 161 may obtain a picture frame such as a still image or a video,by an image sensor, in a video telephony mode or a photographing mode.The image captured by the image sensor may be processed by thecontroller 120 or an additional image processor (not shown).

The picture frame processed by the camera 161 may be stored in thememory 170 or transferred to the outside via the communicator 110. Twoor more cameras 161 may be included according to a realized shape of thedevice 100.

The microphone 162 may receive an external audio signal and process thereceived audio signal into an electrical audio signal. For example, themicrophone 162 may receive a sound signal from an external device or aspeaker. The microphone 162 may use various noise removal algorithms toremove noises generated in the process in which outside sound signalsare received.

The memory 170 may store programs for processing and controlling of thecontroller 120, or may store input/output data (for example, a pluralityof menus, a plurality of first hierarchical sub-menus respectivelycorresponding to the plurality of menus, a plurality of secondhierarchical sub-menus respectively corresponding to the plurality offirst hierarchical sub-menus).

The memory 170 may include a recording medium of at least one of a flashmemory type, a hard disk type, a multimedia card micro type, a card typememory (for example, an SD or an XD memory), random access memory (RAM),static random access memory (SRAM), read-only memory (ROM), electricallyerasable programmable read-only memory (EEPROM), programmable read-onlymemory (PROM), a magnetic memory, a magnetic disk, and an optical disk.Also, the device 100 may operate a web storage performing the storingfunction of the memory 170 on the internet, or a cloud server.

The programs stored in the memory 170 may be divided into a plurality ofmodules according to their functions. For example, the programs may bedivided into a UI module 171, a touch screen module 172, and anotification module 173.

The UI module 171 may provide a specialized UI, a GUI, etc. that areconnected with the device 100, according to applications. The touchscreen module 172 may sense a user's touching gesture on a touch screenand transfer information with respect to the touching gesture to thecontroller 120. The touch screen module 172 may recognize and analyze atouch code. The touch screen module 172 may be formed as separatehardware including a controller.

Various sensors may be included in the touch screen or around the touchscreen to sense a touch or a proximity touch of the touch screen. Anexample of the sensor for sensing the touch of the touch screen is anantenna sensor. The antenna sensor refers to a sensor that senses acontact of a specific object, by a degree in which human beings sense orby a higher degree than the degree in which human beings sense. Theantenna sensor may sense various information including a roughness of acontact surface, a rigidity of a contact object, and a temperature of acontact point.

Also, another example of the sensor for sensing the touch of the touchscreen is the proximity sensor.

The proximity sensor refers to a sensor that senses an object thatapproaches a predetermined sensing surface or senses whether there is anobject existing near the sensing surface by using an electromagneticforce or infrared rays, without a mechanical contact. Examples of theproximity sensor may include a transmittance photoelectricity sensor, adirect reflective photoelectricity sensor, a mirror-reflectivephotoelectricity sensor, a radio frequency oscillation proximity sensor,a capacitance proximity sensor, a magnetic proximity sensor, an infraredproximity sensor, etc. The touch gesture of the user may includetapping, touch & hold, double tapping, dragging, panning, flicking, dragand drop, and swiping.

The notification module 173 may generate signals for informing of anevent occurrence of the device 100. Examples of the event occurring inthe device 100 may include reception of call signals, reception ofmessages, occurrence of messages, inputting of key signals, andnotifying of schedules. The notification module 173 may output anotifying signal as a video signal via the display 131, as an audiosignal via the sound outputter 132, or as a vibration signal via thevibration motor 133.

The method of the exemplary embodiments may be implemented as computerinstructions which may be executed by various computer means, andrecorded on a computer-readable recording medium. The computer-readablerecording medium may include program commands, data files, datastructures, or a combination thereof. The program commands recorded onthe computer-readable recording medium may be specially designed andconstructed for the exemplary embodiments or may be known to and usableby one of ordinary skill in a field of computer software. Examples ofthe computer-readable medium include storage media such as magneticmedia (e.g., hard discs, floppy discs, or magnetic tapes), optical media(e.g., compact disc-read only memories (CD-ROMs), or digital versatilediscs (DVDs)), magneto-optical media (e.g., floptical discs), andhardware devices that are specially configured to store and carry outprogram commands (e.g., ROMs, RAMs, or flash memories). Examples of theprogram commands include a high-level language code that may be executedby a computer using an interpreter as well as a machine language codemade by a complier.

It should be understood that the exemplary embodiments described hereinshould be considered in a descriptive sense only and not for purposes oflimitation. Descriptions of features or aspects within each exemplaryembodiment should typically be considered as available for other similarfeatures or aspects in other exemplary embodiments.

It should be understood that the exemplary embodiments described hereinshould be considered in a descriptive sense only and not for purposes oflimitation. Descriptions of features or aspects within each exemplaryembodiment should typically be considered as available for other similarfeatures or aspects in other exemplary embodiments.

While one or more exemplary embodiments have been described withreference to the figures, it will be understood by those of ordinaryskill in the art that various changes in form and details may be madeherein without departing from the spirit and scope as defined by thefollowing claims.

What is claimed is:
 1. A method of controlling a client device using a mobile device, the method comprising: receiving context data including information regarding a situation of a user from a first client device; determining an event regarding a vehicle driving based on the received context data and pre-stored information, wherein the pre-stored information includes a pattern of context data regarding the vehicle driving which has occurred; determining an object to be transferred from the mobile device to a second client device based on the determined event and a type of an application executed in the mobile device; and transferring the object to the second client device.
 2. The method of claim 1, further comprises generating a mirroring session for performing a mirroring service to the second client device when the determined event is a first event, wherein the object is transferred to the second client device through the mirroring session.
 3. The method of claim 1, wherein obtaining the context data comprises obtaining the context data from the first client device according to a pre-configured cycle, and the pre-configured cycle is changed based on the event.
 4. The method of claim 1, wherein determining the object comprises: determining an operation of the application corresponding to the determined event; determining the object that is output from the mobile device, according to the determined operation.
 5. The method of claim 1, wherein the pre-stored information comprises information indicating a relation between the event and the received context data.
 6. The method of claim 1, further comprising generating a pattern of context data, based on an event which occurs on a previous time and context data obtained when the event of the previous time occurs.
 7. The method of claim 1, further comprising detecting the second client device located in a pre-determined range from the mobile device, wherein the mobile device obtains the context data from the first client device when the second client device is detected.
 8. The method of claim 1, further comprising determining whether the user is a pre-registered user using the received context data.
 9. A mobile device configured to control a client device, the mobile device comprising: a communicator configured to receive context data including information regarding a situation of a user from a first client device; and a controller configured to determine an event regarding a vehicle driving based on the received context data and pre-stored information, wherein the pre-stored information includes context data regarding the vehicle driving which has occurred and to determine an object to be transferred from the mobile device to a second client device based on the determined event and a type of an application executed in the mobile device, wherein the communicator is further configured to transfer the object to the second client device.
 10. The mobile device of claim 9, wherein the controller is configured to generate a mirroring session for performing a mirroring service to the second client device when the determined event is a first event, wherein the communicator transfers the object through the mirroring session.
 11. The mobile device of claim 9, wherein the communicator is configured to obtain the context data from the first client device, according to a pre-configured cycle, and the pre-configured cycle is changed based on the event.
 12. The mobile device of claim 9, wherein the controller is configured to determine an operation of the application corresponding to the determined event, and to determine the object that is output from the mobile device, according to the determined operation.
 13. The mobile device of claim 9, wherein the pre-stored information comprises information indicating a relation between the event and the received context data.
 14. The mobile device of claim 9, wherein the controller is further configured to generate a pattern of context data, based on an event which occurs on a previous time and context data obtained when the event of the previous time occurs.
 15. The mobile device of claim 9, wherein the controller is configured to detect the second client device located in a pre-determined range from the mobile device and to obtain the context data from the first client device when the second client device is detected.
 16. The mobile device of claim 9, wherein the controller is configured to determine whether the user is a pre-registered user using the received context data.
 17. A non-transitory computer-readable recording medium having embodied thereon a computer program for executing the method of claim
 1. 